Neste arquivo constam os resultados da análise com os dados de “Kell.txt”. A seguir, está a descrição dos procedimentos:
load("~/WKSPCE_analise2_kell.RData")
Primeiramente plotamos os pares de variáveis. Destaca-se o segundo gráfico Core vs B_Band, com o aspecto de duas diagonais bem definidas segundo o valor do \(R\).
#leitura
# kell.loc<-file.choose()
# kell.df <- read.table(kell.loc, header=TRUE)
#plotando
#install.packages("gridExtra")
library(ggplot2)
library(gridExtra)
comb = combn(5,2)
p = list()
#i = 1
#x = comb[,1]
# para pegar e passar os nomes das variaveis corretamente para o ggplot
nomes <- colnames(kell.df)
comb_nomes <- matrix(NA, nrow=2, ncol=ncol(comb))
comb_nomes <- sapply(1:ncol(comb),function(j){
sapply(1:2,function(i){
comb_nomes[i,j]<-nomes[comb[i,j]]
})
})
p <- sapply(1:length(comb), function(i){
apply(comb_nomes, 2, function(x){
p[i] <- ggplot(kell.df, aes_string(x[1], x[2]))+
geom_point(size = 1.5)+
ggtitle("Comparações 2x2")+
theme(plot.title = element_text(hjust=0.5))
})
})
#x11()
grid.arrange(p[[1]],p[[2]],p[[3]],p[[4]],p[[5]],p[[6]],p[[7]],p[[8]],
p[[9]],p[[10]], ncol=5)
#p[[1]]; p[[2]]
Em seguida, rodamos o GMM do pacote MClust para todas as 5 variáveis dos dados kell (delta, REDSHIFT, VLA_6cm, I_Band, Ratio) sem restrição quanto ao número de grupos. O modelo ideal seria o com \(3\) grupos, conforme se verifica da tabela e do gráfico de BIC’s.
#rodando MClust
### G irrestrito
library(mclust)
library(factoextra)
out1 <- Mclust(kell.df)
#str(out1)
summary(out1$BIC)
## Best BIC values:
## VVE,3 VVI,3 VVI,4
## BIC -3103.549 -3152.26710 -3156.92303
## BIC diff 0.000 -48.71765 -53.37358
fviz_mclust_bic(out1)
# levando a classificação para os dados originais
kell.df$cluster1 <- as.factor(out1$classification)
p <- sapply(1:length(comb), function(i){
apply(comb_nomes, 2, function(x){
p[i] <- ggplot(kell.df, aes_string(x[1], x[2]))+
geom_point(aes(colour = cluster1),size = 1.5)+
ggtitle("Comparações 2x2")+
theme(plot.title = element_text(hjust=0.5))
})
})
grid.arrange(p[[1]],p[[2]],p[[3]],p[[4]],p[[5]],p[[6]],p[[7]],p[[8]],
p[[9]],p[[10]], ncol=5)
#fviz_mclust(out1, "classification", geom = "point")
O próximo passo consistiu em rodar o GMM fixado em 2 grupos. As classificações são aprensentadas abaixo para cada par de variáveis. Não há qualquer evidência de clusters diagonais.
### G=2
out2 <- Mclust(kell.df[,1:5], G=2)
#str(out2)
#summary(out2$BIC)
#fviz_mclust_bic(out2)
# levando a classificação para os dados originais
kell.df$cluster2 <- as.factor(out2$classification)
p <- sapply(1:length(comb), function(i){
apply(comb_nomes, 2, function(x){
p[i] <- ggplot(kell.df, aes_string(x[1], x[2]))+
geom_point(aes(colour = cluster2),size = 1.5)+
ggtitle("Comparações 2x2")+
theme(plot.title = element_text(hjust=0.5))
})
})
grid.arrange(p[[1]],p[[2]],p[[3]],p[[4]],p[[5]],p[[6]],p[[7]],p[[8]],
p[[9]],p[[10]], ncol=5)
#fviz_mclust(out1, "classification", geom = "point")
Na Análise de Componentes Principais nota-se o peso próximo de 1 da primeira componente na explicação da variabilidade dos dados.
#PCA:
pca<-princomp(kell.df[,1:5])
summary(pca)
## Importance of components:
## Comp.1 Comp.2 Comp.3 Comp.4
## Standard deviation 3.050594e+04 5.171852e+01 7.416579e-01 4.849487e-01
## Proportion of Variance 9.999971e-01 2.874234e-06 5.910678e-10 2.527096e-10
## Cumulative Proportion 9.999971e-01 1.000000e+00 1.000000e+00 1.000000e+00
## Comp.5
## Standard deviation 2.358443e-02
## Proportion of Variance 5.976968e-13
## Cumulative Proportion 1.000000e+00
#install.packages("ggfortify")
#http://rpubs.com/sinhrks/plot_pca
library(ggfortify)
autoplot(pca)
Essa separação verificada na PCA pode ser melhor notada no GIF abaixo confeccionado com o pacote \(tourr\):
#tourr
library(tourr)
animate(kell.df[,1:5],
grand_tour(d = 2), display = display_xy())